function payegis_setFlashInfo(a, b) {
    _JdJrTdRiskFlashCollectInfo = b
}

function L(a, b) {
    for (var c = "", d = 0; d < a.length; d++) c += window.String.fromCharCode(((a.charCodeAt(d) - 32 ^ 31 & d) + 95 - b) % 95 + 32);
    return c
}

function ob() {}

function qb() {
    function b() {
        var b, a = document.getElementById("com_ca_e_c_a_div");
        a && a.parentNode && a.parentNode.removeChild(a), a = document.getElementById("com_ca_e_c_a_div_set"), a && a.parentNode && a.parentNode.removeChild(a), b = document.getElementById("userdata_el"), b && b.parentNode && b.parentNode.removeChild(b), _JdJrTdRiskFlashCollectInfo = null, _JdJrRiskClientCollectData = null, _JdJrTdRiskFp = null, _JdJrRiskClientStorage = null
    }
    var a = pb.G();
    _JdJrRiskClientCollectData = encodeURIComponent(a),
        function () {
            function a(a, c, d, e) {
                var g, f = "pin=" + c + "&oid=" + encodeURIComponent(a) + "&h=" + ("https:" == document.location.protocol ? "s" : "h") + "&fp=" + e;
                try {
                    if (g = _CurrentPageUrl, g.length <= 0) return;
                    f += "&o=" + g
                } catch (h) {
                    f += "&o=0"
                }
                _JdJrRiskClientStorage.get("3AB9D23F7A4B3C9B", function (a) {
                    var c, e;
                    void 0 != a && null != a && a.length > 0 && (_JdEid = a, _eidFlag = !0), "undefined" != typeof _JdEid && _JdEid.length > 0 && (f += "&fc=" + _JdEid), c = _JdJrRiskClientCollectData, e = "?r=" + encodeURIComponent(d);
                    try {
                        e += "&t=" + jd_risk_token_id
                    } catch (g) {}
                    e += "&" + f, jdJrTdsendCorsRequest(document.location.protocol + "//" + _JdJrTdRiskDomainName + "/fcf.html" + e, c, e, function (a) {
                        a.length >= 32 && (_JdEid = a, _eidFlag = !0, _JdJrRiskClientStorage.set("3AB9D23F7A4B3C9B", a), _jdJrTdRelationEidPin(_JdEid)), b()
                    })
                })
            }
            var c = "{fingerprint:" + _JdJrTdRiskFpInfo + _JdJrTdRiskFp.getData() + "}";
            a("undefined" == typeof orderId ? "" : orderId, "undefined" == typeof pin ? "" : pin, c, _JdJrTdRiskFpInfo)
        }()
}

function jdJrTdsendCorsRequest(a, b, c, d) {
    try {
        if (navigator.userAgent.indexOf("MSIE") > 0 && (navigator.userAgent.indexOf("MSIE 7.0") > 0 || navigator.userAgent.indexOf("MSIE 8.0") > 0)) return jdJrTdsendJsonpRequest("fc.html", c);
        var e;
        try {
            e = new window["XMLHttpRequest"]
        } catch (f) {}
        if (!e) try {
            e = new window["ActiveXObject"]("Microsoft.XMLHTTP")
        } catch (g) {}
        if (!e) try {
            e = new window["ActiveXObject"]("Msxml2.XMLHTTP")
        } catch (h) {}
        if (!e) try {
            e = new window["ActiveXObject"]("Msxml3.XMLHTTP")
        } catch (i) {}
        e["open"]("POST", a, !0), e["setRequestHeader"]("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"), e["onreadystatechange"] = function () {
            4 === e["readyState"] && 200 === e["status"] && d(e.responseText)
        }, e["send"]("d=" + encodeURIComponent(b))
    } catch (j) {}
}

function jdJrTdsendJsonpRequest(a, b) {
    try {
        var c = document.createElement("script");
        c.src = _CurrentPageProtocol + _JdJrTdRiskDomainName + "/" + a + b, document.body.appendChild(c)
    } catch (d) {}
}

function callEidfingerRisk_3AB9D23F7A4B3C9B(a) {
    a.length >= 32 && (_eidFlag = !0, _JdEid = a, _JdJrRiskClientStorage.set("3AB9D23F7A4B3C9B", a), _jdJrTdRelationEidPin(a))
}

function getJdEid(a, b, c) {
    if ("function" != typeof a) throw new Error("callback must be a function.");
    if (void 0 === b && (b = 1), void 0 === c && (c = 15), !_eidFlag && c > b) setTimeout(function () {
        getJdEid(a, b, c)
    }, 15 * b), b++;
    else {
        _JdTdudfp.eid = _JdEid, _JdTdudfp.fp = _JdJrTdRiskFpInfo;
        try {
            _JdTdudfp.date = Date.parse(new Date), _JdTdudfp.token = jd_risk_token_id
        } catch (d) {}
        a(_JdEid, _JdJrTdRiskFpInfo, _JdTdudfp)
    }
}

function JdJrTdFingerDataStream(a, b, c) {
    if ("undefined" == typeof a || 0 == a) throw new Error("sourceCode can not be null.");
    void 0 === b && (b = 1), void 0 === c && (c = 15), !_eidFlag && c > b ? (setTimeout(function () {
        JdJrTdFingerDataStream(a, b, c)
    }, 20 * b), b++) : "undefined" != typeof pin && "undefined" != typeof jd_risk_token_id && _JdEid.length > 0 && _JdJrTdRiskFpInfo.length > 0 && jdJrTdsendJsonpRequest("stream.html", "?a1=" + _JdEid + "&a2=" + _JdJrTdRiskFpInfo + "&a3=" + pin + "&a4=" + (new Date).getTime() + "&a5=" + a + "&a6=" + jd_risk_token_id)
}

function _jdJrTdRelationEidPin(a) {
    var b, c, d;
    try {
        a.length >= 32 && (b = "", "undefined" != typeof pin && (b = pin), c = {
            o: _CurrentPageUrl,
            p: b,
            e: a,
            f: _JdJrTdRiskFpInfo
        }, d = _jdJrTdCommonsToJson(c), jdJrTdsendJsonpRequest("r.html?v=" + Math.random() + "&d=" + d, ""))
    } catch (e) {}
}

function _jdJrTdCommonsToJson(a) {
    var b, c;
    if (void 0 == a || null == a) return null;
    b = "{";
    for (c in a) b += "'" + c + "':", b += "string" == typeof a[c] ? "'" + a[c] + "'" : a[c], b += ",";
    return b = b.substring(0, b.length - 1), b += "}", b = encodeURIComponent(b)
}
var Ha, Ia, Xa, JdJrTdRiskFlashResourcePath, G, pb, _JdJrTdRiskFlashCollectInfo, _JdJrRiskClientCollectData, _JdJrRiskClientStorage, _JdJrTdRiskFp, _JdJrTdRiskFpInfo, _JdEid, _eidFlag, _JdTdudfp, _CurrentPageProtocol = "https:" == document.location.protocol ? "https://" : "http://",
    _JdJrTdRiskDomainName = "payrisk.jd.com",
    _CurrentPageUrl = function () {
        var a = document.location.href.toString();
        return a.indexOf("?") > 0 && (a = a.substring(0, a.indexOf("?"))), a = a.substring(_CurrentPageProtocol.length)
    }();
! function () {
    var a = document.createElement("script");
    a.src = _CurrentPageProtocol + "payrisk.jd.com/y.html?v=" + Math.random() + "&o=" + _CurrentPageUrl, a.async = !1, document.body.appendChild(a)
}(),
function (a, b, c) {
    "use strict";
    "undefined" != typeof module && module.exports ? module.exports = c() : "function" == typeof define && define.amd ? define(c) : b[a] = c()
}("JdJrTdRiskFinger", this, function () {
    "use strict";

    function c(a) {
        return null == a || void 0 == a || "" == a ? "undefined" : m(d(l(a), a.length * b))
    }

    function d(a, b) {
        var c, d, e, k, l, m, n, o, p;
        for (a[b >> 5] |= 128 << b % 32, a[(b + 64 >>> 9 << 4) + 14] = b, c = 1732584193, d = -271733879, e = -1732584194, k = 271733878, l = 0; l < a.length; l += 16) m = c, n = d, o = e, p = k, c = f(c, d, e, k, a[l + 0], 7, -680876936), k = f(k, c, d, e, a[l + 1], 12, -389564586), e = f(e, k, c, d, a[l + 2], 17, 606105819), d = f(d, e, k, c, a[l + 3], 22, -1044525330), c = f(c, d, e, k, a[l + 4], 7, -176418897), k = f(k, c, d, e, a[l + 5], 12, 1200080426), e = f(e, k, c, d, a[l + 6], 17, -1473231341), d = f(d, e, k, c, a[l + 7], 22, -45705983), c = f(c, d, e, k, a[l + 8], 7, 1770035416), k = f(k, c, d, e, a[l + 9], 12, -1958414417), e = f(e, k, c, d, a[l + 10], 17, -42063), d = f(d, e, k, c, a[l + 11], 22, -1990404162), c = f(c, d, e, k, a[l + 12], 7, 1804603682), k = f(k, c, d, e, a[l + 13], 12, -40341101), e = f(e, k, c, d, a[l + 14], 17, -1502002290), d = f(d, e, k, c, a[l + 15], 22, 1236535329), c = g(c, d, e, k, a[l + 1], 5, -165796510), k = g(k, c, d, e, a[l + 6], 9, -1069501632), e = g(e, k, c, d, a[l + 11], 14, 643717713), d = g(d, e, k, c, a[l + 0], 20, -373897302), c = g(c, d, e, k, a[l + 5], 5, -701558691), k = g(k, c, d, e, a[l + 10], 9, 38016083), e = g(e, k, c, d, a[l + 15], 14, -660478335), d = g(d, e, k, c, a[l + 4], 20, -405537848), c = g(c, d, e, k, a[l + 9], 5, 568446438), k = g(k, c, d, e, a[l + 14], 9, -1019803690), e = g(e, k, c, d, a[l + 3], 14, -187363961), d = g(d, e, k, c, a[l + 8], 20, 1163531501), c = g(c, d, e, k, a[l + 13], 5, -1444681467), k = g(k, c, d, e, a[l + 2], 9, -51403784), e = g(e, k, c, d, a[l + 7], 14, 1735328473), d = g(d, e, k, c, a[l + 12], 20, -1926607734), c = h(c, d, e, k, a[l + 5], 4, -378558), k = h(k, c, d, e, a[l + 8], 11, -2022574463), e = h(e, k, c, d, a[l + 11], 16, 1839030562), d = h(d, e, k, c, a[l + 14], 23, -35309556), c = h(c, d, e, k, a[l + 1], 4, -1530992060), k = h(k, c, d, e, a[l + 4], 11, 1272893353), e = h(e, k, c, d, a[l + 7], 16, -155497632), d = h(d, e, k, c, a[l + 10], 23, -1094730640), c = h(c, d, e, k, a[l + 13], 4, 681279174), k = h(k, c, d, e, a[l + 0], 11, -358537222), e = h(e, k, c, d, a[l + 3], 16, -722521979), d = h(d, e, k, c, a[l + 6], 23, 76029189), c = h(c, d, e, k, a[l + 9], 4, -640364487), k = h(k, c, d, e, a[l + 12], 11, -421815835), e = h(e, k, c, d, a[l + 15], 16, 530742520), d = h(d, e, k, c, a[l + 2], 23, -995338651), c = i(c, d, e, k, a[l + 0], 6, -198630844), k = i(k, c, d, e, a[l + 7], 10, 1126891415), e = i(e, k, c, d, a[l + 14], 15, -1416354905), d = i(d, e, k, c, a[l + 5], 21, -57434055), c = i(c, d, e, k, a[l + 12], 6, 1700485571), k = i(k, c, d, e, a[l + 3], 10, -1894986606), e = i(e, k, c, d, a[l + 10], 15, -1051523), d = i(d, e, k, c, a[l + 1], 21, -2054922799), c = i(c, d, e, k, a[l + 8], 6, 1873313359), k = i(k, c, d, e, a[l + 15], 10, -30611744), e = i(e, k, c, d, a[l + 6], 15, -1560198380), d = i(d, e, k, c, a[l + 13], 21, 1309151649), c = i(c, d, e, k, a[l + 4], 6, -145523070), k = i(k, c, d, e, a[l + 11], 10, -1120210379), e = i(e, k, c, d, a[l + 2], 15, 718787259), d = i(d, e, k, c, a[l + 9], 21, -343485551), c = j(c, m), d = j(d, n), e = j(e, o), k = j(k, p);
        return Array(c, d, e, k)
    }

    function e(a, b, c, d, e, f) {
        return j(k(j(j(b, a), j(d, f)), e), c)
    }

    function f(a, b, c, d, f, g, h) {
        return e(b & c | ~b & d, a, b, f, g, h)
    }

    function g(a, b, c, d, f, g, h) {
        return e(b & d | c & ~d, a, b, f, g, h)
    }

    function h(a, b, c, d, f, g, h) {
        return e(b ^ c ^ d, a, b, f, g, h)
    }

    function i(a, b, c, d, f, g, h) {
        return e(c ^ (b | ~d), a, b, f, g, h)
    }

    function j(a, b) {
        var c = (65535 & a) + (65535 & b),
            d = (a >> 16) + (b >> 16) + (c >> 16);
        return d << 16 | 65535 & c
    }

    function k(a, b) {
        return a << b | a >>> 32 - b
    }

    function l(a) {
        var c, d, e;
        if (null == a || void 0 == a || "" == a) return "";
        for (c = Array(), d = (1 << b) - 1, e = 0; e < a.length * b; e += b) c[e >> 5] |= (a.charCodeAt(e / b) & d) << e % 32;
        return c
    }

    function m(b) {
        var e, c = a ? "0123456789ABCDEF" : "0123456789abcdef",
            d = "";
        for (e = 0; e < 4 * b.length; e++) d += c.charAt(15 & b[e >> 2] >> 8 * (e % 4) + 4) + c.charAt(15 & b[e >> 2] >> 8 * (e % 4));
        return d
    }
    var s, t, v, w, x, a = 0,
        b = 8,
        n = "",
        o = navigator.userAgent.toLowerCase(),
        p = navigator.language,
        q = "pc",
        r = o;
    (-1 != r.indexOf("ipad") || -1 != r.indexOf("iphone os") || -1 != r.indexOf("midp") || -1 != r.indexOf("rv:1.2.3.4") || -1 != r.indexOf("ucweb") || -1 != r.indexOf("android") || -1 != r.indexOf("windows ce") || -1 != r.indexOf("windows mobile")) && (q = "mobile"), s = "unknown", t = "unknown";
    try {
        -1 != r.indexOf("win") && -1 != r.indexOf("95") && (s = "windows", t = "95"), -1 != r.indexOf("win") && -1 != r.indexOf("98") && (s = "windows", t = "98"), -1 != r.indexOf("win 9x") && -1 != r.indexOf("4.90") && (s = "windows", t = "me"), -1 != r.indexOf("win") && -1 != r.indexOf("nt 5.0") && (s = "windows", t = "2000"), -1 != r.indexOf("win") && -1 != r.indexOf("nt") && (s = "windows", t = "NT"), -1 != r.indexOf("win") && -1 != r.indexOf("nt 5.1") && (s = "windows", t = "xp"), -1 != r.indexOf("win") && -1 != r.indexOf("32") && (s = "windows", t = "32"), -1 != r.indexOf("win") && -1 != r.indexOf("nt 5.1") && (s = "windows", t = "7"), -1 != r.indexOf("win") && -1 != r.indexOf("6.0") && (s = "windows", t = "8"), -1 == r.indexOf("win") || -1 == r.indexOf("nt 6.0") && -1 == r.indexOf("nt 6.1") || (s = "windows", t = "9"), -1 != r.indexOf("win") && -1 != r.indexOf("nt 6.2") && (s = "windows", t = "10"), -1 != r.indexOf("linux") && (s = "linux"), -1 != r.indexOf("unix") && (s = "unix"), -1 != r.indexOf("sun") && -1 != r.indexOf("os") && (s = "sun os"), -1 != r.indexOf("ibm") && -1 != r.indexOf("os") && (s = "ibm os/2"), -1 != r.indexOf("mac") && -1 != r.indexOf("pc") && (s = "mac"), -1 != r.indexOf("aix") && (s = "aix"), -1 != r.indexOf("powerpc") && (s = "powerPC"), -1 != r.indexOf("hpux") && (s = "hpux"), -1 != r.indexOf("netbsd") && (s = "NetBSD"), -1 != r.indexOf("bsd") && (s = "BSD"), -1 != r.indexOf("osf1") && (s = "OSF1"), -1 != r.indexOf("irix") && (s = "IRIX", t = ""), -1 != r.indexOf("freebsd") && (s = "FreeBSD"), -1 != r.indexOf("symbianos") && (s = "SymbianOS", t = r.substring(r.indexOf("SymbianOS/") + 10, 3))
    } catch (u) {}
    v = "unknown", w = "unknown";
    try {
        -1 != r.indexOf("msie") && (v = "ie", w = r.substring(r.indexOf("msie ") + 5), w.indexOf(";") && (w = w.substring(0, w.indexOf(";")))), -1 != r.indexOf("firefox") && (v = "Firefox", w = r.substring(r.indexOf("firefox/") + 8)), -1 != r.indexOf("opera") && (v = "Opera", w = r.substring(r.indexOf("opera/") + 6, 4)), -1 != r.indexOf("safari") && (v = "safari", w = r.substring(r.indexOf("safari/") + 7)), -1 != r.indexOf("chrome") && (v = "chrome", w = r.substring(r.indexOf("chrome/") + 7), w.indexOf(" ") && (w = w.substring(0, w.indexOf(" ")))), -1 != r.indexOf("navigator") && (v = "navigator", w = r.substring(r.indexOf("navigator/") + 10)), -1 != r.indexOf("applewebkit") && (v = "applewebkit_chrome", w = r.substring(r.indexOf("applewebkit/") + 12), w.indexOf(" ") && (w = w.substring(0, w.indexOf(" ")))), -1 != r.indexOf("sogoumobilebrowser") && (v = "搜狗手机浏览器"), (-1 != r.indexOf("ucbrowser") || -1 != r.indexOf("ucweb")) && (v = "UC浏览器"), (-1 != r.indexOf("qqbrowser") || -1 != r.indexOf("tencenttraveler")) && (v = "QQ浏览器"), -1 != r.indexOf("metasr") && (v = "搜狗浏览器"), -1 != r.indexOf("360se") && (v = "360浏览器"), -1 != r.indexOf("the world") && (v = "世界之窗浏览器"), -1 != r.indexOf("maxthon") && (v = "遨游浏览器")
    } catch (u) {}
    return x = function (a) {
        var b = {};
        this.options = this.extend(a, b), this.nativeForEach = Array.prototype.forEach, this.nativeMap = Array.prototype.map
    }, x.prototype = {
        extend: function (a, b) {
            if (null == a) return b;
            for (var c in a) null != a[c] && b[c] !== a[c] && (b[c] = a[c]);
            return b
        }, getData: function () {
            return n
        }, get: function (a) {
            var e, b = 1 * w,
                d = [];
            return "ie" == v && b >= 7 ? (d.push(o), d.push(p), n = n + ",'userAgent':'" + c(o) + "','language':'" + p + "'", this.browserRedirect(o)) : (d = this.userAgentKey(d), d = this.languageKey(d)), d.push(v), d.push(w), d.push(s), d.push(t), n = n + ",'os':'" + s + "','osVersion':'" + t + "','browser':'" + v + "','browserVersion':'" + w + "'", d = this.colorDepthKey(d), d = this.screenResolutionKey(d), d = this.timezoneOffsetKey(d), d = this.sessionStorageKey(d), d = this.localStorageKey(d), d = this.indexedDbKey(d), d = this.addBehaviorKey(d), d = this.openDatabaseKey(d), d = this.cpuClassKey(d), d = this.platformKey(d), d = this.doNotTrackKey(d), d = this.pluginsKey(d), d = this.canvasKey(d), d = this.webglKey(d), e = this.x64hash128(d.join("~~~"), 31), a(e)
        }, userAgentKey: function (a) {
            return this.options.excludeUserAgent || (a.push(navigator.userAgent), n = n + ",'userAgent':'" + c(navigator.userAgent) + "'", this.browserRedirect(navigator.userAgent)), a
        }, replaceAll: function (a, b, c) {
            for (; a.indexOf(b) >= 0;) a = a.replace(b, c);
            return a
        }, browserRedirect: function (a) {
            var b = a.toLowerCase(),
                c = "ipad" == b.match(/ipad/i),
                d = "iphone os" == b.match(/iphone os/i),
                e = "midp" == b.match(/midp/i),
                f = "rv:1.2.3.4" == b.match(/rv:1.2.3.4/i),
                g = "ucweb" == b.match(/ucweb/i),
                h = "android" == b.match(/android/i),
                i = "windows ce" == b.match(/windows ce/i),
                j = "windows mobile" == b.match(/windows mobile/i);
            n += c || d || e || f || g || h || i || j ? ",'origin':'mobile'" : ",'origin':'pc'"
        }, languageKey: function (a) {
            return this.options.excludeLanguage || (a.push(navigator.language), n = n + ",'language':'" + this.replaceAll(navigator.language, " ", "_") + "'"), a
        }, colorDepthKey: function (a) {
            return this.options.excludeColorDepth || (a.push(screen.colorDepth), n = n + ",'colorDepth':'" + screen.colorDepth + "'"), a
        }, screenResolutionKey: function (a) {
            if (!this.options.excludeScreenResolution) {
                var b = this.getScreenResolution();
                "undefined" != typeof b && (a.push(b.join("x")), n = n + ",'screenResolution':'" + b.join("x") + "'")
            }
            return a
        }, getScreenResolution: function () {
            var a;
            return a = this.options.detectScreenOrientation ? screen.height > screen.width ? [screen.height, screen.width] : [screen.width, screen.height] : [screen.height, screen.width]
        }, timezoneOffsetKey: function (a) {
            return this.options.excludeTimezoneOffset || (a.push((new Date).getTimezoneOffset()), n = n + ",'timezoneOffset':'" + (new Date).getTimezoneOffset() / 60 + "'"), a
        }, sessionStorageKey: function (a) {
            return !this.options.excludeSessionStorage && this.hasSessionStorage() && (a.push("sessionStorageKey"), n += ",'sessionStorage':true"), a
        }, localStorageKey: function (a) {
            return !this.options.excludeSessionStorage && this.hasLocalStorage() && (a.push("localStorageKey"), n += ",'localStorage':true"), a
        }, indexedDbKey: function (a) {
            return !this.options.excludeIndexedDB && this.hasIndexedDB() && (a.push("indexedDbKey"), n += ",'indexedDb':true"), a
        }, addBehaviorKey: function (a) {
            return document.body && !this.options.excludeAddBehavior && document.body.addBehavior ? (a.push("addBehaviorKey"), n += ",'addBehavior':true") : n += ",'addBehavior':false", a
        }, openDatabaseKey: function (a) {
            return !this.options.excludeOpenDatabase && window.openDatabase ? (a.push("openDatabase"), n += ",'openDatabase':true") : n += ",'openDatabase':false", a
        }, cpuClassKey: function (a) {
            return this.options.excludeCpuClass || (a.push(this.getNavigatorCpuClass()), n = n + ",'cpu':'" + this.getNavigatorCpuClass() + "'"), a
        }, platformKey: function (a) {
            return this.options.excludePlatform || (a.push(this.getNavigatorPlatform()), n = n + ",'platform':'" + this.getNavigatorPlatform() + "'"), a
        }, doNotTrackKey: function (a) {
            return this.options.excludeDoNotTrack || (a.push(this.getDoNotTrack()), n = n + ",'track':'" + this.getDoNotTrack() + "'"), a
        }, canvasKey: function (a) {
            return !this.options.excludeCanvas && this.isCanvasSupported() && (a.push(this.getCanvasFp()), n = n + ",'canvas':'" + c(this.getCanvasFp()) + "'"), a
        }, webglKey: function (a) {
            return !this.options.excludeWebGL && this.isCanvasSupported() && (a.push(this.getWebglFp()), n = n + ",'webglFp':'" + c(this.getWebglFp()) + "'"), a
        }, pluginsKey: function (a) {
            return this.isIE() ? (a.push(this.getIEPluginsString()), n = n + ",'plugins':'" + c(this.getIEPluginsString()) + "'") : (a.push(this.getRegularPluginsString()), n = n + ",'plugins':'" + c(this.getRegularPluginsString()) + "'"), a
        }, getRegularPluginsString: function () {
            return this.map(navigator.plugins, function (a) {
                var b = this.map(a, function (a) {
                    return [a.type, a.suffixes].join("~")
                }).join(",");
                return [a.name, a.description, b].join("::")
            }, this).join(";")
        }, getIEPluginsString: function () {
            if (window.ActiveXObject) {
                var a = ["AcroPDF.PDF", "Adodb.Stream", "AgControl.AgControl", "DevalVRXCtrl.DevalVRXCtrl.1", "MacromediaFlashPaper.MacromediaFlashPaper", "Msxml2.DOMDocument", "Msxml2.XMLHTTP", "PDF.PdfCtrl", "QuickTime.QuickTime", "QuickTimeCheckObject.QuickTimeCheck.1", "RealPlayer", "RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)", "RealVideo.RealVideo(tm) ActiveX Control (32-bit)", "Scripting.Dictionary", "SWCtl.SWCtl", "Shell.UIHelper", "ShockwaveFlash.ShockwaveFlash", "Skype.Detection", "TDCCtl.TDCCtl", "WMPlayer.OCX", "rmocx.RealPlayer G2 Control", "rmocx.RealPlayer G2 Control.1"];
                return this.map(a, function (a) {
                    try {
                        return new ActiveXObject(a), a
                    } catch (b) {
                        return null
                    }
                }).join(";")
            }
            return ""
        }, hasSessionStorage: function () {
            try {
                return !!window.sessionStorage
            } catch (a) {
                return !0
            }
        }, hasLocalStorage: function () {
            try {
                return !!window.localStorage
            } catch (a) {
                return !0
            }
        }, hasIndexedDB: function () {
            return !!window.indexedDB
        }, getNavigatorCpuClass: function () {
            return navigator.cpuClass ? navigator.cpuClass : "unknown"
        }, getNavigatorPlatform: function () {
            return navigator.platform ? navigator.platform : "unknown"
        }, getDoNotTrack: function () {
            return navigator.doNotTrack ? navigator.doNotTrack : "unknown"
        }, getCanvasFp: function () {
            var a = document.createElement("canvas"),
                b = a.getContext("2d"),
                c = "Cwm fjordbank glyphs vext quiz, https://github.com/valve ?";
            return b.textBaseline = "top", b.font = "70px 'Arial'", b.textBaseline = "alphabetic", b.fillStyle = "#f60", b.fillRect(125, 1, 62, 20), b.fillStyle = "#069", b.fillText(c, 2, 15), b.fillStyle = "rgba(102, 204, 0, 0.7)", b.fillText(c, 4, 17), a.toDataURL()
        }, getWebglFp: function () {
            var d, e, f, g, h, i, j, k, b = function (b) {
                    return a.clearColor(0, 0, 0, 1), a.enable(a.DEPTH_TEST), a.depthFunc(a.LEQUAL), a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT), "[" + b[0] + ", " + b[1] + "]"
                },
                c = function (a) {
                    var b, c = a.getExtension("EXT_texture_filter_anisotropic") || a.getExtension("WEBKIT_EXT_texture_filter_anisotropic") || a.getExtension("MOZ_EXT_texture_filter_anisotropic");
                    return c ? (b = a.getParameter(c.MAX_TEXTURE_MAX_ANISOTROPY_EXT), 0 === b && (b = 2), b) : null
                },
                a = this.getWebglCanvas();
            return a ? (d = [], e = "attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}", f = "precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}", g = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, g), h = new Float32Array([-.2, -.9, 0, .4, -.26, 0, 0, .732134444, 0]), a.bufferData(a.ARRAY_BUFFER, h, a.STATIC_DRAW), g.itemSize = 3, g.numItems = 3, i = a.createProgram(), j = a.createShader(a.VERTEX_SHADER), a.shaderSource(j, e), a.compileShader(j), k = a.createShader(a.FRAGMENT_SHADER), a.shaderSource(k, f), a.compileShader(k), a.attachShader(i, j), a.attachShader(i, k), a.linkProgram(i), a.useProgram(i), i.vertexPosAttrib = a.getAttribLocation(i, "attrVertex"), i.offsetUniform = a.getUniformLocation(i, "uniformOffset"), a.enableVertexAttribArray(i.vertexPosArray), a.vertexAttribPointer(i.vertexPosAttrib, g.itemSize, a.FLOAT, !1, 0, 0), a.uniform2f(i.offsetUniform, 1, 1), a.drawArrays(a.TRIANGLE_STRIP, 0, g.numItems), null != a.canvas && d.push(a.canvas.toDataURL()), d.push("extensions:" + a.getSupportedExtensions().join(";")), d.push("webgl aliased line width range:" + b(a.getParameter(a.ALIASED_LINE_WIDTH_RANGE))), d.push("webgl aliased point size range:" + b(a.getParameter(a.ALIASED_POINT_SIZE_RANGE))), d.push("webgl alpha bits:" + a.getParameter(a.ALPHA_BITS)), d.push("webgl antialiasing:" + (a.getContextAttributes().antialias ? "yes" : "no")), d.push("webgl blue bits:" + a.getParameter(a.BLUE_BITS)), d.push("webgl depth bits:" + a.getParameter(a.DEPTH_BITS)), d.push("webgl green bits:" + a.getParameter(a.GREEN_BITS)), d.push("webgl max anisotropy:" + c(a)), d.push("webgl max combined texture image units:" + a.getParameter(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS)), d.push("webgl max cube map texture size:" + a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZE)), d.push("webgl max fragment uniform vectors:" + a.getParameter(a.MAX_FRAGMENT_UNIFORM_VECTORS)), d.push("webgl max render buffer size:" + a.getParameter(a.MAX_RENDERBUFFER_SIZE)), d.push("webgl max texture image units:" + a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS)), d.push("webgl max texture size:" + a.getParameter(a.MAX_TEXTURE_SIZE)), d.push("webgl max varying vectors:" + a.getParameter(a.MAX_VARYING_VECTORS)), d.push("webgl max vertex attribs:" + a.getParameter(a.MAX_VERTEX_ATTRIBS)), d.push("webgl max vertex texture image units:" + a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS)), d.push("webgl max vertex uniform vectors:" + a.getParameter(a.MAX_VERTEX_UNIFORM_VECTORS)), d.push("webgl max viewport dims:" + b(a.getParameter(a.MAX_VIEWPORT_DIMS))), d.push("webgl red bits:" + a.getParameter(a.RED_BITS)), d.push("webgl renderer:" + a.getParameter(a.RENDERER)), d.push("webgl shading language version:" + a.getParameter(a.SHADING_LANGUAGE_VERSION)), d.push("webgl stencil bits:" + a.getParameter(a.STENCIL_BITS)), d.push("webgl vendor:" + a.getParameter(a.VENDOR)), d.push("webgl version:" + a.getParameter(a.VERSION)), d.join("§")) : null
        }, isCanvasSupported: function () {
            var a = document.createElement("canvas");
            return !(!a.getContext || !a.getContext("2d"))
        }, isIE: function () {
            return "Microsoft Internet Explorer" === navigator.appName ? !0 : "Netscape" === navigator.appName && /Trident/.test(navigator.userAgent) ? !0 : !1
        }, getWebglCanvas: function () {
            var a = document.createElement("canvas"),
                b = null;
            try {
                b = a.getContext("webgl") || a.getContext("experimental-webgl")
            } catch (c) {}
            return b || (b = null), b
        }, each: function (a, b, c) {
            var d, e, f;
            if (null !== a)
                if (this.nativeForEach && a.forEach === this.nativeForEach) a.forEach(b, c);
                else if (a.length === +a.length) {
                for (d = 0, e = a.length; e > d; d++)
                    if (b.call(c, a[d], d, a) === {}) return
            } else
                for (f in a)
                    if (a.hasOwnProperty(f) && b.call(c, a[f], f, a) === {}) return
        }, map: function (a, b, c) {
            var d = [];
            return null == a ? d : this.nativeMap && a.map === this.nativeMap ? a.map(b, c) : (this.each(a, function (a, e, f) {
                d[d.length] = b.call(c, a, e, f)
            }), d)
        }, x64Add: function (a, b) {
            a = [a[0] >>> 16, 65535 & a[0], a[1] >>> 16, 65535 & a[1]], b = [b[0] >>> 16, 65535 & b[0], b[1] >>> 16, 65535 & b[1]];
            var c = [0, 0, 0, 0];
            return c[3] += a[3] + b[3], c[2] += c[3] >>> 16, c[3] &= 65535, c[2] += a[2] + b[2], c[1] += c[2] >>> 16, c[2] &= 65535, c[1] += a[1] + b[1], c[0] += c[1] >>> 16, c[1] &= 65535, c[0] += a[0] + b[0], c[0] &= 65535, [c[0] << 16 | c[1], c[2] << 16 | c[3]]
        }, x64Multiply: function (a, b) {
            a = [a[0] >>> 16, 65535 & a[0], a[1] >>> 16, 65535 & a[1]], b = [b[0] >>> 16, 65535 & b[0], b[1] >>> 16, 65535 & b[1]];
            var c = [0, 0, 0, 0];
            return c[3] += a[3] * b[3], c[2] += c[3] >>> 16, c[3] &= 65535, c[2] += a[2] * b[3], c[1] += c[2] >>> 16, c[2] &= 65535, c[2] += a[3] * b[2], c[1] += c[2] >>> 16, c[2] &= 65535, c[1] += a[1] * b[3], c[0] += c[1] >>> 16, c[1] &= 65535, c[1] += a[2] * b[2], c[0] += c[1] >>> 16, c[1] &= 65535, c[1] += a[3] * b[1], c[0] += c[1] >>> 16, c[1] &= 65535, c[0] += a[0] * b[3] + a[1] * b[2] + a[2] * b[1] + a[3] * b[0], c[0] &= 65535, [c[0] << 16 | c[1], c[2] << 16 | c[3]]
        }, x64Rotl: function (a, b) {
            return b %= 64, 32 === b ? [a[1], a[0]] : 32 > b ? [a[0] << b | a[1] >>> 32 - b, a[1] << b | a[0] >>> 32 - b] : (b -= 32, [a[1] << b | a[0] >>> 32 - b, a[0] << b | a[1] >>> 32 - b])
        }, x64LeftShift: function (a, b) {
            return b %= 64, 0 === b ? a : 32 > b ? [a[0] << b | a[1] >>> 32 - b, a[1] << b] : [a[1] << b - 32, 0]
        }, x64Xor: function (a, b) {
            return [a[0] ^ b[0], a[1] ^ b[1]]
        }, x64Fmix: function (a) {
            return a = this.x64Xor(a, [0, a[0] >>> 1]), a = this.x64Multiply(a, [4283543511, 3981806797]), a = this.x64Xor(a, [0, a[0] >>> 1]), a = this.x64Multiply(a, [3301882366, 444984403]), a = this.x64Xor(a, [0, a[0] >>> 1])
        }, x64hash128: function (a, b) {
            var c, d, e, f, g, h, i, j, k;
            for (a = a || "", b = b || 0, c = a.length % 16, d = a.length - c, e = [0, b], f = [0, b], g = [0, 0], h = [0, 0], i = [2277735313, 289559509], j = [1291169091, 658871167], k = 0; d > k; k += 16) g = [255 & a.charCodeAt(k + 4) | (255 & a.charCodeAt(k + 5)) << 8 | (255 & a.charCodeAt(k + 6)) << 16 | (255 & a.charCodeAt(k + 7)) << 24, 255 & a.charCodeAt(k) | (255 & a.charCodeAt(k + 1)) << 8 | (255 & a.charCodeAt(k + 2)) << 16 | (255 & a.charCodeAt(k + 3)) << 24], h = [255 & a.charCodeAt(k + 12) | (255 & a.charCodeAt(k + 13)) << 8 | (255 & a.charCodeAt(k + 14)) << 16 | (255 & a.charCodeAt(k + 15)) << 24, 255 & a.charCodeAt(k + 8) | (255 & a.charCodeAt(k + 9)) << 8 | (255 & a.charCodeAt(k + 10)) << 16 | (255 & a.charCodeAt(k + 11)) << 24], g = this.x64Multiply(g, i), g = this.x64Rotl(g, 31), g = this.x64Multiply(g, j), e = this.x64Xor(e, g), e = this.x64Rotl(e, 27), e = this.x64Add(e, f), e = this.x64Add(this.x64Multiply(e, [0, 5]), [0, 1390208809]), h = this.x64Multiply(h, j), h = this.x64Rotl(h, 33), h = this.x64Multiply(h, i), f = this.x64Xor(f, h), f = this.x64Rotl(f, 31), f = this.x64Add(f, e), f = this.x64Add(this.x64Multiply(f, [0, 5]), [0, 944331445]);
            switch (g = [0, 0], h = [0, 0], c) {
            case 15:
                h = this.x64Xor(h, this.x64LeftShift([0, a.charCodeAt(k + 14)], 48));
            case 14:
                h = this.x64Xor(h, this.x64LeftShift([0, a.charCodeAt(k + 13)], 40));
            case 13:
                h = this.x64Xor(h, this.x64LeftShift([0, a.charCodeAt(k + 12)], 32));
            case 12:
                h = this.x64Xor(h, this.x64LeftShift([0, a.charCodeAt(k + 11)], 24));
            case 11:
                h = this.x64Xor(h, this.x64LeftShift([0, a.charCodeAt(k + 10)], 16));
            case 10:
                h = this.x64Xor(h, this.x64LeftShift([0, a.charCodeAt(k + 9)], 8));
            case 9:
                h = this.x64Xor(h, [0, a.charCodeAt(k + 8)]), h = this.x64Multiply(h, j), h = this.x64Rotl(h, 33), h = this.x64Multiply(h, i), f = this.x64Xor(f, h);
            case 8:
                g = this.x64Xor(g, this.x64LeftShift([0, a.charCodeAt(k + 7)], 56));
            case 7:
                g = this.x64Xor(g, this.x64LeftShift([0, a.charCodeAt(k + 6)], 48));
            case 6:
                g = this.x64Xor(g, this.x64LeftShift([0, a.charCodeAt(k + 5)], 40));
            case 5:
                g = this.x64Xor(g, this.x64LeftShift([0, a.charCodeAt(k + 4)], 32));
            case 4:
                g = this.x64Xor(g, this.x64LeftShift([0, a.charCodeAt(k + 3)], 24));
            case 3:
                g = this.x64Xor(g, this.x64LeftShift([0, a.charCodeAt(k + 2)], 16));
            case 2:
                g = this.x64Xor(g, this.x64LeftShift([0, a.charCodeAt(k + 1)], 8));
            case 1:
                g = this.x64Xor(g, [0, a.charCodeAt(k)]), g = this.x64Multiply(g, i), g = this.x64Rotl(g, 31), g = this.x64Multiply(g, j), e = this.x64Xor(e, g)
            }
            return e = this.x64Xor(e, [0, a.length]), f = this.x64Xor(f, [0, a.length]), e = this.x64Add(e, f), f = this.x64Add(f, e), e = this.x64Fmix(e), f = this.x64Fmix(f), e = this.x64Add(e, f), f = this.x64Add(f, e), ("00000000" + (e[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (e[1] >>> 0).toString(16)).slice(-8) + ("00000000" + (f[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (f[1] >>> 0).toString(16)).slice(-8)
        }
    }, x
});
try {
    ! function (a) {
        "use strict";

        function i(a, b, c) {
            if (a.indexOf("&" + b + "=") > -1 || 0 === a.indexOf(b + "=")) {
                var e, f, d = a.indexOf("&" + b + "=");
                return -1 === d && (d = a.indexOf(b + "=")), e = a.indexOf("&", d + 1), f = -1 !== e ? a.substr(0, d) + a.substr(e + (d ? 0 : 1)) + "&" + b + "=" + c : a.substr(0, d) + "&" + b + "=" + c
            }
            return a + "&" + b + "=" + c
        }

        function j() {
            return "indexedDB" in a ? !0 : (a.indexedDB = a.indexedDB || a.mozIndexedDB || a.webkitIndexedDB || a.msIndexedDB) ? !0 : !1
        }

        function l(a) {
            k = a
        }

        function p(c) {
            var f, h, l, p, q, r, s, t, u, v, x, z, w, y;
            c = c || {}, f = {};
            for (h in n) l = c[h], f[h] = "undefined" != typeof l ? l : n[h];
            "function" == typeof f.domain && (f.domain = f.domain(a)), p = f.history, q = f.java, r = f.tests, s = f.baseurl, t = f.asseturi, u = f.domain, v = this, this._ec = {}, this.get = function (a, b, c) {
                v._jdtdstorage(a, b, void 0, void 0, c)
            }, this.set = function (a, b) {
                v._jdtdstorage(a, function () {}, b)
            }, this._jdtdstorage = function (c, d, e, g, h) {
                var i, s, t, l, n, o;
                if (void 0 === v._jdtdstorage && (v = this), void 0 === g && (g = 1), 1 === g && (v.jdtdstorage_database_storage(c, e), v.jdtdstorage_indexdb_storage(c, e), v.jdtdstorage_lso(c, e), f.authPath && v.jdtdstorage_auth(c, e), q && v.jdtdstorage_java(c, e), v._ec.userData = v.jdtdstorage_userdata(c, e), v._ec.cookieData = v.jdtdstorage_cookie(c, e), v._ec.localData = v.jdtdstorage_local_storage(c, e), v._ec.globalData = v.jdtdstorage_global_storage(c, e), v._ec.sessionData = v.jdtdstorage_session_storage(c, e), v._ec.windowData = v.jdtdstorage_window(c, e), p && (v._ec.historyData = v.jdtdstorage_history(c, e))), i = !0, navigator.userAgent.match(/(iPhone|iPod|Android|ios|ipad)/i) && (i = !1), void 0 == e)
                    if ((a.openDatabase && "undefined" == typeof v._ec.dbData || j() && ("undefined" == typeof v._ec.idbData || "" === v._ec.idbData) || i && "undefined" == typeof k || b.createElement("canvas").getContext && ("undefined" == typeof v._ec.pngData || "" === v._ec.pngData)) && g++ < r) setTimeout(function () {
                        v._jdtdstorage(c, d, e, g, h)
                    }, 30);
                    else {
                        v._ec.lsoData = v.getFromStr(c, k), k = void 0, v._ec.slData = v.getFromStr(c, m), m = void 0, l = v._ec, n = [], o = 0, v._ec = {};
                        for (t in l) l[t] && "null" !== l[t] && "undefined" !== l[t] && (n[l[t]] = void 0 === n[l[t]] ? 1 : n[l[t]] + 1);
                        for (t in n) n[t] > o && (o = n[t], s = t);
                        void 0 === s || void 0 !== h && 1 === h || v.set(c, s), "function" == typeof d && d(s, l)
                    }
            }, this.jdtdstorage_window = function (b, c) {
                try {
                    if (void 0 === c) return this.getFromStr(b, a.name);
                    a.name = i(a.name, b, c)
                } catch (d) {}
            }, this.jdtdstorage_userdata = function (a, b) {
                try {
                    var c = this.createElem("div", "userdata_el", 1);
                    if (c.addBehavior) {
                        if (c.style.behavior = "url(#default#userData)", void 0 === b) return c.load(a), c.getAttribute(a);
                        c.setAttribute(a, b), c.save(a)
                    }
                } catch (d) {}
            }, this.jdtdstorage_cache = function () {}, this.jdtdstorage_auth = function () {}, this.jdtdstorage_etag = function () {}, this.jdtdstorage_java = function () {}, this.get_flash_version = function () {
                var d, e, f, g, b = !1,
                    c = null;
                if (navigator.plugins)
                    for (d = navigator.plugins, e = 0; e < d.length; e++)
                        if (d[e].name.toLowerCase().indexOf("shockwave flash") >= 0) {
                            b = !0, f = d[e].description.toLowerCase().lastIndexOf("flash ") + 6, c = d[e].description.substring(f, d[e].description.length);
                            break
                        }
                if (a.ActiveXObject) {
                    g = !1;
                    try {
                        g = new ActiveXObject("ShockwaveFlash.ShockwaveFlash")
                    } catch (h) {}
                    g && (b = !0, c = g.GetVariable("$version").toLowerCase().replace("win", ""))
                }
                return {
                    is: b,
                    v: c
                }
            }, this.jdtdstorage_lso = function (a, c) {
                var e, f, g, h, i, j, d = v.get_flash_version();
                d.is && (e = "com_ca_e_c_a_div", void 0 != c && (e = "com_ca_e_c_a_div_set"), f = b.getElementById(e), g = {}, h = {}, i = {}, j = s + t + "/JdFp.swf", null === f && (f = b.createElement("div"), f.setAttribute("id", e), f.setAttribute("style", "width:1px;height:1px;background:#FFF;display:inline-block;position:absolute;left:-2000px;top:-2000px;"), b.body.appendChild(f), void 0 !== c && (g.everdata = a + "=" + c, j += "?f3AB9D23F7A4B3C9B=" + c), h.swliveconnect = "true", i.id = "myswf", i.name = "myswf", f.innerHTML = "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' width='0' height='0' id='com_ca_e_c_a_collect' align='middle'><param name='allowScriptAccess' value='always' /><param name='allowFullScreen' value='false' /><param name='movie' value='" + j + "' />" + "<param name='quality' value='low' />" + "<param name='bgcolor' value='#ffffff' />	" + "<embed src='" + j + "' quality='low' bgcolor='#ffffff' width='0' height='0' name='com_ca_e_c_a_collect' " + "align='middle' allowScriptAccess='always' allowFullScreen='false' type='application/x-shockwave-flash'/>"))
            }, this.jdtdstorage_png = function () {}, this.jdtdstorage_local_storage = function (a, b) {
                try {
                    if (e) {
                        if (void 0 === b) return e.getItem(a);
                        e.setItem(a, b)
                    }
                } catch (c) {}
            }, this.jdtdstorage_database_storage = function (b, c) {
                try {
                    if (a.openDatabase) {
                        var d = a.openDatabase("sqlite_jdtdstorage", "", "jdtdstorage", 1048576);
                        void 0 !== c ? d.transaction(function (a) {
                            a.executeSql("CREATE TABLE IF NOT EXISTS cache(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, value TEXT NOT NULL, UNIQUE (name))", [], function () {}, function () {}), a.executeSql("INSERT OR REPLACE INTO cache(name, value) VALUES(?, ?)", [b, c], function () {}, function () {})
                        }) : d.transaction(function (a) {
                            a.executeSql("SELECT value FROM cache WHERE name=?", [b], function (a, b) {
                                v._ec.dbData = b.rows.length >= 1 ? b.rows.item(0).value : ""
                            }, function () {})
                        })
                    }
                } catch (e) {}
            }, this.jdtdstorage_indexdb_storage = function (b, c) {
                var d, g, h;
                try {
                    "indexedDB" in a || (d = a.indexedDB || a.mozIndexedDB || a.webkitIndexedDB || a.msIndexedDB, a.IDBTransaction || a.webkitIDBTransaction || a.msIDBTransaction, a.IDBKeyRange || a.webkitIDBKeyRange || a.msIDBKeyRange), d && (g = 1, h = d.open("idb_jdtdstorage", g), h.onerror = function () {}, h.onupgradeneeded = function (a) {
                        var b = a.target.result;
                        b.createObjectStore("jdtdstorage", {
                            keyPath: "name",
                            unique: !1
                        })
                    }, h.onsuccess = void 0 !== c ? function (a) {
                        var e, f, d = a.target.result;
                        d.objectStoreNames.contains("jdtdstorage") && (e = d.transaction(["jdtdstorage"], "readwrite"), f = e.objectStore("jdtdstorage"), f.put({
                            name: b,
                            value: c
                        })), d.close()
                    } : function (a) {
                        var d, e, f, c = a.target.result;
                        c.objectStoreNames.contains("jdtdstorage") ? (d = c.transaction(["jdtdstorage"]), e = d.objectStore("jdtdstorage"), f = e.get(b), f.onsuccess = function () {
                            v._ec.idbData = void 0 === f.result ? void 0 : f.result.value
                        }) : v._ec.idbData = void 0, c.close()
                    })
                } catch (i) {}
            }, this.jdtdstorage_session_storage = function (a, b) {
                try {
                    if (g) {
                        if (void 0 === b) return g.getItem(a);
                        g.setItem(a, b)
                    }
                } catch (c) {}
            }, this.jdtdstorage_global_storage = function (a, b) {
                if (d) {
                    var c = this.getHost();
                    try {
                        if (void 0 === b) return d[c][a];
                        d[c][a] = b
                    } catch (e) {}
                }
            }, this.jdtdstorage_silverlight = function () {}, this.encode = function (a) {
                var c, d, e, f, g, h, i, b = "",
                    j = 0;
                for (a = this._utf8_encode(a); j < a.length;) c = a.charCodeAt(j++), d = a.charCodeAt(j++), e = a.charCodeAt(j++), f = c >> 2, g = (3 & c) << 4 | d >> 4, h = (15 & d) << 2 | e >> 6, i = 63 & e, isNaN(d) ? h = i = 64 : isNaN(e) && (i = 64), b = b + o.charAt(f) + o.charAt(g) + o.charAt(h) + o.charAt(i);
                return b
            }, this.decode = function (a) {
                var c, d, e, f, g, h, i, b = "",
                    j = 0;
                for (a = a.replace(/[^A-Za-z0-9\+\/\=]/g, ""); j < a.length;) f = o.indexOf(a.charAt(j++)), g = o.indexOf(a.charAt(j++)), h = o.indexOf(a.charAt(j++)), i = o.indexOf(a.charAt(j++)), c = f << 2 | g >> 4, d = (15 & g) << 4 | h >> 2, e = (3 & h) << 6 | i, b += String.fromCharCode(c), 64 !== h && (b += String.fromCharCode(d)), 64 !== i && (b += String.fromCharCode(e));
                return b = this._utf8_decode(b)
            }, this._utf8_encode = function (a) {
                a = a.replace(/\r\n/g, "\n");
                for (var e, b = "", c = 0, d = a.length; d > c; c++) e = a.charCodeAt(c), 128 > e ? b += String.fromCharCode(e) : e > 127 && 2048 > e ? (b += String.fromCharCode(192 | e >> 6), b += String.fromCharCode(128 | 63 & e)) : (b += String.fromCharCode(224 | e >> 12), b += String.fromCharCode(128 | 63 & e >> 6), b += String.fromCharCode(128 | 63 & e));
                return b
            }, this._utf8_decode = function (a) {
                for (var b = "", c = 0, d = a.length, e = 0, g = 0, h = 0; d > c;) e = a.charCodeAt(c), 128 > e ? (b += String.fromCharCode(e), c += 1) : e > 191 && 224 > e ? (g = a.charCodeAt(c + 1), b += String.fromCharCode((31 & e) << 6 | 63 & g), c += 2) : (g = a.charCodeAt(c + 1), h = a.charCodeAt(c + 2), b += String.fromCharCode((15 & e) << 12 | (63 & g) << 6 | 63 & h), c += 3);
                return b
            }, this.jdtdstorage_history = function () {}, this.createElem = function (a, c, d) {
                var e;
                return e = void 0 !== c && b.getElementById(c) ? b.getElementById(c) : b.createElement(a), e.style.visibility = "hidden", e.style.position = "absolute", c && e.setAttribute("id", c), d && b.body.appendChild(e), e
            }, this.createIframe = function (a, b) {
                var c = this.createElem("iframe", b, 1);
                return c.setAttribute("src", a), c
            }, this.jdtdstorage_cookie = function (a, c) {
                return void 0 === c ? this.getFromStr(a, b.cookie) : (b.cookie = a + "=; expires=Mon, 20 Sep 2010 00:00:00 UTC; path=/; domain=" + u, b.cookie = a + "=" + c + "; expires=Tue, 31 Dec 2030 00:00:00 UTC; path=/; domain=" + u, void 0)
            }, this.getFromStr = function (a, b) {
                if ("string" == typeof b) {
                    var e, f, c = a + "=",
                        d = b.split(/[;&]/);
                    for (e = 0; e < d.length; e++) {
                        for (f = d[e];
                            " " === f.charAt(0);) f = f.substring(1, f.length);
                        if (0 === f.indexOf(c)) return f.substring(c.length, f.length)
                    }
                }
            }, this.getHost = function () {
                return a.location.host.replace(/:\d+/, "")
            }, this.toHex = function (a) {
                for (var e, b = "", c = a.length, d = 0; c > d;) {
                    for (e = a.charCodeAt(d++).toString(16); e.length < 2;) e = "0" + e;
                    b += e
                }
                return b
            }, this.fromHex = function (a) {
                for (var d, b = "", c = a.length; c >= 0;) d = c - 2, b = String.fromCharCode("0x" + a.substring(d, c)) + b, c = d;
                return b
            }, this.hasVisited = function () {}, w = this.createElem("a", "_ec_rgb_link"), y = "#_ec_rgb_link:visited{display:none;color:#FF0000}";
            try {
                x = 1, z = b.createElement("style"), z.styleSheet ? z.styleSheet.innerHTML = y : z.innerHTML ? z.innerHTML = y : z.appendChild(b.createTextNode(y))
            } catch (A) {
                x = 0
            }
            this._getRGB = function (a, c) {
                if (c && 0 === x) return -1;
                w.href = a, w.innerHTML = a, b.body.appendChild(z), b.body.appendChild(w);
                var d;
                if (b.defaultView) {
                    if (null == b.defaultView.getComputedStyle(w, null)) return -1;
                    d = b.defaultView.getComputedStyle(w, null).getPropertyValue("color")
                } else d = w.currentStyle.color;
                return d
            }, this._testURL = function (a, b) {
                var c = this._getRGB(a);
                return "rgb(255, 0, 0)" === c || "#ff0000" === c ? 1 : b && c !== b ? 1 : 0
            }
        }
        var e, g, k, m, n, o, b = a.document,
            d = (a.Image, a.globalStorage);
        try {
            e = a.localStorage
        } catch (f) {}
        try {
            g = a.sessionStorage
        } catch (h) {}
        n = {
            history: !0,
            java: !1,
            tests: 5,
            silverlight: !1,
            domain: ".jd.com",
            baseurl: _CurrentPageProtocol + _JdJrTdRiskDomainName,
            asseturi: "",
            phpuri: "/e",
            authPath: !1,
            pngCookieName: "e_png",
            pngPath: "/e_png.html",
            etagCookieName: "e_etag",
            etagPath: "/e_etag.html",
            cacheCookieName: "e_cache",
            cachePath: "/e_cache.html"
        }, o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", a._jdtdstorage_flash_var = l, a.JDJRTDLOCALSTORAGE = p
    }(window)
} catch (ex) {}
Ha = new function () {
        function a(a) {
            var b = -1;
            try {
                b = a.GetVariable("$version")
            } catch (c) {}
            return b
        }
        var c, b = this;
        b.o = !1, b.B = "", b.s = -1, b.v = -1, b.h = -1, b.C = "", c = [{
            name: "ShockwaveFlash.ShockwaveFlash.7",
            version: function (b) {
                return a(b)
            }
        }, {
            name: "ShockwaveFlash.ShockwaveFlash.6",
            version: function (b) {
                var c = "6,0,21";
                try {
                    b.L = "always", c = a(b)
                } catch (d) {}
                return c
            }
        }, {
            name: "ShockwaveFlash.ShockwaveFlash",
            version: function (b) {
                return a(b)
            }
        }], b.O = function (a) {
            return b.s >= a
        }, b.P = function (a) {
            return b.v >= a
        }, b.R = function (a) {
            return b.h >= a
        }, b.S = function () {
            var c = [b.s, b.v, b.h],
                d = Math.min(c.length, arguments.length);
            for (i = 0; d > i; i++) {
                if (!(c[i] >= arguments[i])) return !1;
                if (!(d > i + 1 && c[i] == arguments[i])) return !0
            }
        }, b.M = function () {
            var a, d, e, f, g, h, i;
            if (navigator.plugins && 0 < navigator.plugins.length) h = navigator.mimeTypes, h && h["application/x-shockwave-flash"] && h["application/x-shockwave-flash"].enabledPlugin && h["application/x-shockwave-flash"].enabledPlugin.description && (h = h["application/x-shockwave-flash"].enabledPlugin.description, a = h.split(/ +/), e = a[2].split(/\./), i = a[3], a = h, d = parseInt(e[0], 10), e = parseInt(e[1], 10), f = i, g = parseInt(i.replace(/[a-zA-Z]/g, ""), 10) || b.h, b.B = a, b.s = d, b.v = e, b.C = f, b.h = g, b.o = !0);
            else if (-1 == navigator.appVersion.indexOf("Mac") && window.execScript)
                for (h = -1, i = 0; i < c.length && -1 == h; i++) {
                    a = -1;
                    try {
                        a = new ActiveXObject(c[i].name)
                    } catch (j) {
                        a = {
                            F: !0
                        }
                    }
                    a.F || (b.o = !0, h = c[i].version(a), -1 != h && (f = h.split(","), a = h, d = parseInt(f[0].split(" ")[1], 10), e = parseInt(f[1], 10), g = parseInt(f[2], 10), f = f[2], b.B = a, b.s = d, b.v = e, b.h = g, b.C = f))
                }
        }()
    }, Ha.N = "1.0.4", Ia = _JdJrTdRiskDomainName, Xa = document.createElement("div"), Xa.setAttribute("style", "width:1px;height:1px;background:#FFF;display:inline-block;position:absolute;left:-2000px;top:-2000px;"), Xa.id = "jd_risk_swf_id", JdJrTdRiskFlashResourcePath = document.location.protocol + "//" + Ia + "/JdSecurity.swf", Xa.innerHTML = "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' width='0' height='0' data='" + JdJrTdRiskFlashResourcePath + "'" + "type='application/x-shockwave-flash'" + "id='payegisSwf' align='middle'>" + "<param name='allowScriptAccess' value='always' />" + "<param name='allowFullScreen' value='false' />" + "<param name='movie' value='" + JdJrTdRiskFlashResourcePath + "' />" + "<param name='quality' value='low' />" + "<param name='bgcolor' value='#ffffff' />	" + "<param name='flashVars' value='appId=17345&sessionId=7162.8491673618555&url=" + document.location.protocol + "//" + Ia + "/black.html" + "' />" + "<embed src='" + JdJrTdRiskFlashResourcePath + "' quality='low' bgcolor='#ffffff' width='0' height='0' name='payegisSwf' " + "align='middle' allowScriptAccess='always' allowFullScreen='false' type='application/x-shockwave-flash'/>", document.body.appendChild(Xa), G = {
        enabled: Ha.o,
        flash_object: void 0,
        try_count: 4,
        info: "",
        rand_id: "",
        timeout: void 0
    }, pb = new function () {
        function a(a, b) {
            for (var c = "", d = 0; d < a.length; d++) c += f.String.fromCharCode(((a.charCodeAt(d) - 32 ^ 31 & d) + 95 - b) % 95 + 32);
            return c
        }

        function b() {
            var c, b, d, a = window["webkitRTCPeerConnection"] || window["mozRTCPeerConnection"] || window["RTCPeerConnection"];
            if (a) {
                b = function (a) {
                    var c, b = /([0-9]{1,3}(\.[0-9]{1,3}){3})/;
                    try {
                        c = b.exec(a)[1], void 0 === d[c] && o.push(c), d[c] = !0
                    } catch (e) {}
                }, d = {};
                try {
                    c = new a({
                        iceServers: [{
                            url: "stun:stun.services.mozilla.com"
                        }]
                    })
                } catch (e) {}
                try {
                    void 0 === c && (c = new a({
                        iceServers: []
                    }))
                } catch (f) {}
                if (c || window["mozRTCPeerConnection"]) try {
                    c.createDataChannel("chat", {
                        reliable: !1
                    })
                } catch (g) {}
                c && (c.onicecandidate = function (a) {
                    a.candidate && b(a.candidate.candidate)
                }, c.createOffer(function (a) {
                    c.setLocalDescription(a, function () {}, function () {})
                }, function () {}), setTimeout(function () {
                    try {
                        c.localDescription.sdp.split("\n").forEach(function (a) {
                            0 === a.indexOf("a=candidate:") && b(a)
                        })
                    } catch (a) {}
                }, 800))
            }
            try {
                window["MediaStreamTrack"] && window["MediaStreamTrack"].getSources && window["MediaStreamTrack"].getSources(function (a) {
                    for (var b = [], c = 0; c < a.length; c++) b.push(a[c].kind + ";" + a[c].label + ";" + a[c].id);
                    p = b.sort().join("|")
                })
            } catch (h) {}
        }

        function c() {
            function a(a) {
                var b = {};
                return e.style.fontFamily = a, d.appendChild(e), b.height = e.offsetHeight, b.width = e.offsetWidth, d.removeChild(e), b
            }
            var f, b = ["monospace", "sans-serif", "serif"],
                c = [],
                d = i,
                e = h.createElement("span");
            for (e.style.fontSize = "72px", e.style.visibility = "hidden", e.innerHTML = "mmmmmmmmmmlli", f = 0; f < b.length; f++) c[f] = a(b[f]);
            this.H = function (d) {
                var e, f, g;
                for (e = 0; e < c.length; e++)
                    if (f = a(d + "," + b[e]), g = c[e], f.height !== g.height || f.width !== g.width) return !0;
                return !1
            }
        }

        function d(a) {
            var c, d, e, b = {};
            for (b["name"] = a["name"], b["filename"] = a["filename"].toLowerCase(), b["description"] = a["description"], void 0 !== a["version"] && (b["version"] = a["version"]), b["mimeTypes"] = [], c = 0; a.length > c; c++) d = a[c], e = {}, e["description"] = d["description"], e["suffixes"] = d["suffixes"], e["type"] = d["type"], b["mimeTypes"].push(e);
            return b
        }

        function e() {
            var a = {};
            try {
                a["cookie"] = navigator.cookieEnabled, a["localStorage"] = !!window.localStorage, a["sessionStorage"] = !!window.sessionStorage, a["globalStorage"] = !!window.globalStorage, a["indexedDB"] = !!window.indexedDB
            } catch (b) {}
            return a
        }
        var n, f = window,
            g = navigator,
            h = document,
            i = document.body,
            o = [],
            p = "",
            q = "Abadi MT Condensed Light;Adobe Fangsong Std;Adobe Hebrew;Adobe Ming Std;Agency FB;Arab;Arabic Typesetting;Arial Black;Batang;Bauhaus 93;Bell MT;Bitstream Vera Serif;Bodoni MT;Bookman Old Style;Braggadocio;Broadway;Calibri;Californian FB;Castellar;Casual;Centaur;Century Gothic;Chalkduster;Colonna MT;Copperplate Gothic Light;DejaVu LGC Sans Mono;Desdemona;DFKai-SB;Dotum;Engravers MT;Eras Bold ITC;Eurostile;FangSong;Forte;Franklin Gothic Heavy;French Script MT;Gabriola;Gigi;Gisha;Goudy Old Style;Gulim;GungSeo;Haettenschweiler;Harrington;Hiragino Sans GB;Impact;Informal Roman;KacstOne;Kino MT;Kozuka Gothic Pr6N;Lohit Gujarati;Loma;Lucida Bright;Lucida Fax;Magneto;Malgun Gothic;Matura MT Script Capitals;Menlo;MingLiU-ExtB;MoolBoran;MS PMincho;MS Reference Sans Serif;News Gothic MT;Niagara Solid;Nyala;Palace Script MT;Papyrus;Perpetua;Playbill;PMingLiU;Rachana;Rockwell;Sawasdee;Script MT Bold;Segoe Print;Showcard Gothic;SimHei;Snap ITC;TlwgMono;Tw Cen MT Condensed Extra Bold;Ubuntu;Umpush;Univers;Utopia;Vladimir Script;Wide Latin".split(";"),
            r = "4game;AdblockPlugin;AdobeExManCCDetect;AdobeExManDetect;Alawar NPAPI utils;Aliedit Plug-In;Alipay Security Control 3;AliSSOLogin plugin;AmazonMP3DownloaderPlugin;AOL Media Playback Plugin;AppUp;ArchiCAD;AVG SiteSafety plugin;Babylon ToolBar;Battlelog Game Launcher;BitCometAgent;Bitdefender QuickScan;BlueStacks Install Detector;CatalinaGroup Update;Citrix ICA Client;Citrix online plug-in;Citrix Receiver Plug-in;Coowon Update;DealPlyLive Update;Default Browser Helper;DivX Browser Plug-In;DivX Plus Web Player;DivX VOD Helper Plug-in;doubleTwist Web Plugin;Downloaders plugin;downloadUpdater;eMusicPlugin DLM6;ESN Launch Mozilla Plugin;ESN Sonar API;Exif Everywhere;Facebook Plugin;File Downloader Plug-in;FileLab plugin;FlyOrDie Games Plugin;Folx 3 Browser Plugin;FUZEShare;GDL Object Web Plug-in 16.00;GFACE Plugin;Ginger;Gnome Shell Integration;Google Earth Plugin;Google Earth Plug-in;Google Gears 0.5.33.0;Google Talk Effects Plugin;Google Update;Harmony Firefox Plugin;Harmony Plug-In;Heroes & Generals live;HPDetect;Html5 location provider;IE Tab plugin;iGetterScriptablePlugin;iMesh plugin;Kaspersky Password Manager;LastPass;LogMeIn Plugin 1.0.0.935;LogMeIn Plugin 1.0.0.961;Ma-Config.com plugin;Microsoft Office 2013;MinibarPlugin;Native Client;Nitro PDF Plug-In;Nokia Suite Enabler Plugin;Norton Identity Safe;npAPI Plugin;NPLastPass;NPPlayerShell;npTongbuAddin;NyxLauncher;Octoshape Streaming Services;Online Storage plug-in;Orbit Downloader;Pando Web Plugin;Parom.TV player plugin;PDF integrado do WebKit;PDF-XChange Viewer;PhotoCenterPlugin1.1.2.2;Picasa;PlayOn Plug-in;QQ2013 Firefox Plugin;QQDownload Plugin;QQMiniDL Plugin;QQMusic;RealDownloader Plugin;Roblox Launcher Plugin;RockMelt Update;Safer Update;SafeSearch;Scripting.Dictionary;SefClient Plugin;Shell.UIHelper;Silverlight Plug-In;Simple Pass;Skype Web Plugin;SumatraPDF Browser Plugin;Symantec PKI Client;Tencent FTN plug-in;Thunder DapCtrl NPAPI Plugin;TorchHelper;Unity Player;Uplay PC;VDownloader;Veetle TV Core;VLC Multimedia Plugin;Web Components;WebKit-integrierte PDF;WEBZEN Browser Extension;Wolfram Mathematica;WordCaptureX;WPI Detector 1.4;Yandex Media Plugin;Yandex PDF Viewer;YouTube Plug-in;zako".split(";"),
            s = "object" == typeof JSON && JSON.stringify;
        this.D = function () {
            b(), n = {}, "function" != typeof s && (s = function (a) {
                var c, b = typeof a;
                if ("undefined" === b || null === a) return "null";
                if ("number" === b || "boolean" === b) return a + "";
                if ("object" === b && a && a.constructor === Array) {
                    for (b = [], c = 0; a.length > c; c++) b.push(s(a[c]));
                    return "[" + (b + "") + "]"
                }
                if ("object" === b) {
                    b = [];
                    for (c in a) a.hasOwnProperty(c) && b.push('"' + c + '":' + s(a[c]));
                    return "{" + (b + "") + "}"
                }
            })
        }, this.G = function () {
            var b, i, j, k, l, n, t, v, w, x, A, C, D, E, J, h = new Date;
            try {
                if (i = document["createElement"]("div"), j = {}, k = "ActiveBorder,ActiveCaption,AppWorkspace,Background,ButtonFace,ButtonHighlight,ButtonShadow,ButtonText,CaptionText,GrayText,Highlight,HighlightText,InactiveBorder,InactiveCaption,InactiveCaptionText,InfoBackground,InfoText,Menu,MenuText,Scrollbar,ThreeDDarkShadow,ThreeDFace,ThreeDHighlight,ThreeDLightShadow,ThreeDShadow,Window,WindowFrame,WindowText".split(","), window.getComputedStyle)
                    for (l = 0; k.length > l; l++) document.body["appendChild"](i), i.style.color = k[l], j[k[l]] = window.getComputedStyle(i).getPropertyValue("color"), document.body["removeChild"](i);
                b = j
            } catch (m) {}
            i = {}, i["ca"] = {}, i["ts"] = {}, i["m"] = {}, j = i["ca"], k = "tdHash";
            try {
                n = document["createElement"]("canvas"), t = n.getContext("2d")
            } catch (u) {}
            if (t) {
                for (t.fillStyle = "red", t.fillRect(30, 10, 200, 100), t.strokeStyle = "#1a3bc1", t.lineWidth = 6, t.lineCap = "round", t.arc(50, 50, 20, 0, Math.PI, !1), t.stroke(), t.fillStyle = "#42e1a2", t.font = "15.4px 'Arial'", t.textBaseline = "alphabetic", t.fillText("PR flacks quiz gym: TV DJ box when? ☠", 15, 60), t.shadowOffsetX = 1, t.shadowOffsetY = 2, t.shadowColor = "white", t.fillStyle = "rgba(0, 0, 200, 0.5)", t.font = "60px 'Not a real font'", t.fillText("No骗", 40, 80), n = n.toDataURL(), t = 3 & n.length, l = n.length - t, v = void 0, x = 0; l > x;) w = 255 & n.charCodeAt(x) | (255 & n.charCodeAt(++x)) << 8 | (255 & n.charCodeAt(++x)) << 16 | (255 & n.charCodeAt(++x)) << 24, ++x, w = 4294967295 & 3432918353 * (65535 & w) + ((65535 & 3432918353 * (w >>> 16)) << 16), w = w << 15 | w >>> 17, w = 4294967295 & 461845907 * (65535 & w) + ((65535 & 461845907 * (w >>> 16)) << 16), v ^= w, v = v << 13 | v >>> 19, v = 4294967295 & 5 * (65535 & v) + ((65535 & 5 * (v >>> 16)) << 16), v = (65535 & v) + 27492 + ((65535 & (v >>> 16) + 58964) << 16);
                switch (w = 0, t) {
                case 3:
                    w ^= (255 & n.charCodeAt(x + 2)) << 16;
                case 2:
                    w ^= (255 & n.charCodeAt(x + 1)) << 8;
                case 1:
                    w ^= 255 & n.charCodeAt(x), w = 4294967295 & 3432918353 * (65535 & w) + ((65535 & 3432918353 * (w >>> 16)) << 16), w = w << 15 | w >>> 17, v ^= 4294967295 & 461845907 * (65535 & w) + ((65535 & 461845907 * (w >>> 16)) << 16)
                }
                v ^= n.length, v ^= v >>> 16, v = 4294967295 & 2246822507 * (65535 & v) + ((65535 & 2246822507 * (v >>> 16)) << 16), v ^= v >>> 13, v = 4294967295 & 3266489909 * (65535 & v) + ((65535 & 3266489909 * (v >>> 16)) << 16), n = (v ^ v >>> 16) >>> 0
            } else n = void 0; if (j[k] = n, j = i["ca"], n = {}, window["WebGLRenderingContext"]) {
                for (t = "webgl,experimental-webgl,moz-webgl,webkit-3d".split(","), l = [], x = !1, v = 0; 4 > v; v++) {
                    thisContext = !1;
                    try {
                        (thisContext = document["createElement"]("canvas").getContext(t[v], {
                            stencil: !0
                        })) && (x || (x = thisContext), l.push(t[v]))
                    } catch (y) {}
                }
                l = x ? {
                    name: l,
                    gl: x
                } : !1
            } else l = !1; if (l) {
                if (t = l.gl, x = "", l.name)
                    for (len = l.name.length, v = 0; len > v; v++) x = v == len - 1 ? x + l.name[v] : x + (l.name[v] + "|");
                j["contextName"] = x, j["webglversion"] = t.getParameter(t.VERSION), j["shadingLV"] = t.getParameter(t.SHADING_LANGUAGE_VERSION), j["vendor"] = t.getParameter(t.VENDOR), j["renderer"] = t.getParameter(t.RENDERER), l = [];
                try {
                    l = t.getSupportedExtensions()
                } catch (z) {}
                l && (j["extensions"] = l)
            }
            if (i["ts"]["deviceTime"] = h["getTime"](), i["m"]["documentMode"] = document["documentMode"], i["m"]["compatMode"] = document["compatMode"], j = "fo", G["info"] && G["info"]["fsf"]) k = G["info"]["fsf"];
            else
                for (k = [], n = new c, t = 0; q.length > t; t++) l = q[t], n.H(l) && k.push(l);
            i[j] = k, j = "n", k = {}, n = [];
            for (A in g) "object" != typeof g[A] && (k[A] = g[A]), n.push(A);
            k["enumerationOrder"] = n, k["javaEnabled"] = g["javaEnabled"]();
            try {
                k["taintEnabled"] = g["taintEnabled"]()
            } catch (B) {}
            if (i[j] = k, A = a("}", 13), k = g["userAgent"]["toLowerCase"](), (j = k.match(/rv:([\d.]+)\) like gecko/)) && (C = j[1]), (j = k.match(/msie ([\d.]+)/)) && (C = j[1]), C) {
                for (E = [], C = "AcroPDF.PDF,Adodb.Stream,AgControl.AgControl,DevalVRXCtrl.DevalVRXCtrl.1,MacromediaFlashPaper.MacromediaFlashPaper,Msxml2.DOMDocument,Msxml2.XMLHTTP,PDF.PdfCtrl,QuickTime.QuickTime,QuickTimeCheckObject.QuickTimeCheck.1,RealPlayer,RealPlayer.RealPlayer(tm) ActiveX Control (32-bit),RealVideo.RealVideo(tm) ActiveX Control (32-bit),rmocx.RealPlayer G2 Control,Scripting.Dictionary,Shell.UIHelper,ShockwaveFlash.ShockwaveFlash,SWCtl.SWCtl,TDCCtl.TDCCtl,WMPlayer.OCX".split(","), j = 0; C.length > j; j++) {
                    k = C[j];
                    try {
                        D = new ActiveXObject(k), n = {}, n["name"] = k;
                        try {
                            n["version"] = D["GetVariable"]("$version")
                        } catch (F) {}
                        try {
                            n["version"] = D["GetVersions"]()
                        } catch (H) {}
                        n["version"] && 0 < n["version"].length || (n["version"] = ""), E.push(n)
                    } catch (I) {}
                }
                D = E
            } else {
                for (j = [], k = {}, D = 0; g["plugins"].length > D; D++) E = g["plugins"][D], k[E.name] = 1, j.push(d(E));
                for (D = 0; r.length > D; D++) C = r[D], k[C] || (E = g["plugins"][C], E && j.push(d(E)));
                D = j
            }
            for (i[A] = D, D = "availHeight,availWidth,colorDepth,bufferDepth,deviceXDPI,deviceYDPI,height,width,logicalXDPI,logicalYDPI,pixelDepth,updateInterval".split(","), E = {}, C = 0; D.length > C; C++) A = D[C], void 0 !== screen[A] && (E[A] = screen[A]);
            for (i["s"] = E, D = "devicePixelRatio,screenTop,screenLeft".split(","), E = {}, C = 0; D.length > C; C++) A = D[C], void 0 !== f[A] && (E[A] = f[A]);
            return i["w"] = E, i["sc"] = b, i["tz"] = h["getTimezoneOffset"](), i["lil"] = o.sort().join("|"), i["wil"] = p, i["ss"] = e(), void 0 !== _JdJrTdRiskFlashCollectInfo && (i["fl"] = _JdJrTdRiskFlashCollectInfo), J = document.getElementById("jd_risk_swf_id"), null != J && document.body.removeChild(J), s(i)
        }
    }, _JdJrRiskClientCollectData = "", _JdJrRiskClientStorage = new JDJRTDLOCALSTORAGE, _JdJrTdRiskFp = new JdJrTdRiskFinger, _JdJrTdRiskFpInfo = "", _JdEid = "", _eidFlag = !1, _JdTdudfp = {},
    function () {
        _JdJrTdRiskFp.get(function (a) {
            _JdJrTdRiskFpInfo = a
        }), pb.D(), "undefined" != typeof document.body && document.body ? setTimeout(qb, 200) : setTimeout(Fb, 300)
    }();